package com.basics.method;

public class MethodDemo {
    public static void main(String[] args) {
        //目標：掌握方法的定義和調用
        int result = sum(10, 20);
        System.out.println("result = " + result);

        printHelloWorld();

        String code = getCode(6);
        System.out.println("code = " + code);
        System.out.println(getCode(4));
    }

    //需求1：定義一個方法，求任意兩個整數的和并返回
    public static int sum(int a, int b) {
        return a + b;

    }

    //需求2，打印三行HelloWorld，不需要參數，也不需要返回值
    //注意：如果方法沒有返回值，則返回值類型必須聲明為void
    //無參數，無返回值類型
    public static void printHelloWorld() { //方法名一般是小写驼峰模式
        for (int i = 0; i < 3; i++) {
            System.out.println("HelloWorld");
        }
    }

    //需求3：获取一个指定位数的验证码返回
    //掌握方法的定义格式
    //需要接受数据吗？需要，接受一个int类型的参数 位数 int len
    //需要返回数据吗？需要，返回一个String类型的数据 验证码 String code
    public static String getCode(int len) {
        //定义一个容器，用于存储验证码
        String code = "";
        //定义一个数组，存储验证码的字符
        char[] chs = {'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J',
                      'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T',
                      'U', 'V', 'W', 'X', 'Y', 'Z', '0', '1', '2', '3',
                      '4', '5', '6', '7', '8', '9'};
        //随机获取验证码
        for (int i = 0; i < len; i++) {
            //随机获取一个下标
            int index = (int)(Math.random() * chs.length);
            //根据下标获取字符
            code += chs[index];
        }
        return code;
    }


}
